package org.dizena.base.dao;

import org.dizena.base.avo.req.JqGridReq;

import java.util.List;
import java.util.Map;

public interface DbDao<T>
{


    T add(T m);

    void deleteById(String id);

    void deleteBy(String[] keys, Object[] vals);

    void update(T m);

    T get(String id);

    List<T> findMany(String[] keys, Object[] vals);

    Long count(String[] keys, Object[] vals);

    List<T> find(Long page, Integer size, String[] keys, Object[] vals);

    List<T> queryAll(JqGridReq req, Map<String, Object> map);

    Long count(String searchField, Map<String, Object> map);
}
